package com.ctshk.rpc.train.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * <p>
 * 火车票产品预订设置DTO
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-03-11
 */
@Data
@ApiModel(value="TrainProductReservationSettingsDTO对象", description="火车票产品预订设置DTO")
public class TrainProductReservationSettingsDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "id")
    private Long id;

    @ApiModelProperty(value = "火车票产品id")
    private Long trainProductId;

    @ApiModelProperty(value = "开售类型（1：立即开售 2：定时开售）")
    private Integer saleType;

    @ApiModelProperty(value = "开售开始时间")
    private LocalDate saleBeginDate;

    @ApiModelProperty(value = "开售结束时间")
    private LocalDate saleEndDate;

    @ApiModelProperty(value = "是否二次确认,0是，1否")
    private Integer isConfirm;

    @ApiModelProperty(value = "预订须知")
    private String bookingInformation;

    @ApiModelProperty(value = "乘客须知")
    private String passengerNotice;

    @ApiModelProperty(value = "小童订票须知")
    private String childrenNotice;

    @ApiModelProperty(value = "电子客票说明")
    private String electronicTicketExplain;

    @ApiModelProperty(value = "退改设置")
    private Integer changeSettings;

    @ApiModelProperty(value = "服务费类型(1:数值 2：百分比)")
    private Integer serviceChargeType;

    @ApiModelProperty(value = "服务费")
    private BigDecimal serviceChargePrice;

    @ApiModelProperty(value = "退改手续费类型")
    private Integer refundFeeType;

    @ApiModelProperty(value = "退改手续费")
    private BigDecimal refundFeePrice;

    @ApiModelProperty(value = "取票类型(1：电子票 2：纸质票)")
    private Integer ticketCollectionType;

    @ApiModelProperty(value = "取票类型对应方式")
    private String ticketCollection;

    @ApiModelProperty(value = "兑换方式")
    private Integer exchangeMethod;


}
